package model

import (
	"github.com/zeromicro/go-zero/core/stores/cache"
	"github.com/zeromicro/go-zero/core/stores/monc"
)

var _ ChatDialogModel = (*customChatDialogModel)(nil)

type (
	// ChatDialogModel is an interface to be customized, add more methods here,
	// and implement the added methods in customChatDialogModel.
	ChatDialogModel interface {
		chatDialogModel
	}

	customChatDialogModel struct {
		*defaultChatDialogModel
	}
)

// NewChatDialogModel returns a model for the mongo.
func NewChatDialogModel(url, db, collection string, c cache.CacheConf) ChatDialogModel {
	conn := monc.MustNewModel(url, db, collection, c)
	return &customChatDialogModel{
		defaultChatDialogModel: newDefaultChatDialogModel(conn),
	}
}
